﻿using Hxj.Data;
using Hxj.Data.Common;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace RecruitStudents.Utility.Model
{
    /// <summary>
    /// 实体类TB_Exam_Log 。(属性说明自动提取数据库字段的描述信息)
    /// </summary>
    [Serializable]
    public class TB_Exam_Log : Entity
    {
        public TB_Exam_Log() : base("TB_Exam_Log") { _LogID = Guid.NewGuid().ToString(); }

        #region Model
        private string _LogID;
        private string _SignUpStudentsSpecialityID;
        private string _SignUpID;
        private string _SpecialityKindsNO;
        private string _SpecialityKindsName;
        private string _AllowExamID;
        private string _ExamPlaceNO;
        private int? _ExamLevel;
        private int? _IsPass;
        private string _NodeName;
        private DateTime? _NodeTime;
        /// <summary>
        /// 
        /// </summary>
        public string LogID
        {
            get { return _LogID; }
            set
            {
                this.OnPropertyValueChange(_.LogID, _LogID, value);
                this._LogID = value;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        public string SignUpStudentsSpecialityID
        {
            get { return _SignUpStudentsSpecialityID; }
            set
            {
                this.OnPropertyValueChange(_.SignUpStudentsSpecialityID, _SignUpStudentsSpecialityID, value);
                this._SignUpStudentsSpecialityID = value;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        public string SignUpID
        {
            get { return _SignUpID; }
            set
            {
                this.OnPropertyValueChange(_.SignUpID, _SignUpID, value);
                this._SignUpID = value;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        public string SpecialityKindsNO
        {
            get { return _SpecialityKindsNO; }
            set
            {
                this.OnPropertyValueChange(_.SpecialityKindsNO, _SpecialityKindsNO, value);
                this._SpecialityKindsNO = value;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        public string SpecialityKindsName
        {
            get { return _SpecialityKindsName; }
            set
            {
                this.OnPropertyValueChange(_.SpecialityKindsName, _SpecialityKindsName, value);
                this._SpecialityKindsName = value;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        public string AllowExamID
        {
            get { return _AllowExamID; }
            set
            {
                this.OnPropertyValueChange(_.AllowExamID, _AllowExamID, value);
                this._AllowExamID = value;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        public string ExamPlaceNO
        {
            get { return _ExamPlaceNO; }
            set
            {
                this.OnPropertyValueChange(_.ExamPlaceNO, _ExamPlaceNO, value);
                this._ExamPlaceNO = value;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        public int? ExamLevel
        {
            get { return _ExamLevel; }
            set
            {
                this.OnPropertyValueChange(_.ExamLevel, _ExamLevel, value);
                this._ExamLevel = value;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        public int? IsPass
        {
            get { return _IsPass; }
            set
            {
                this.OnPropertyValueChange(_.IsPass, _IsPass, value);
                this._IsPass = value;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        public string NodeName
        {
            get { return _NodeName; }
            set
            {
                this.OnPropertyValueChange(_.NodeName, _NodeName, value);
                this._NodeName = value;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        public DateTime? NodeTime
        {
            get { return _NodeTime; }
            set
            {
                this.OnPropertyValueChange(_.NodeTime, _NodeTime, value);
                this._NodeTime = value;
            }
        }
        #endregion

        #region Method
        /// <summary>
        /// 获取实体中的主键列
        /// </summary>
        public override Field[] GetPrimaryKeyFields()
        {
            return new Field[] {
                _.LogID};
        }
        /// <summary>
        /// 获取列信息
        /// </summary>
        public override Field[] GetFields()
        {
            return new Field[] {
                _.LogID,
                _.SignUpStudentsSpecialityID,
                _.SignUpID,
                _.SpecialityKindsNO,
                _.SpecialityKindsName,
                _.AllowExamID,
                _.ExamPlaceNO,
                _.ExamLevel,
                _.IsPass,
                _.NodeName,
                _.NodeTime};
        }
        /// <summary>
        /// 获取值信息
        /// </summary>
        public override object[] GetValues()
        {
            return new object[] {
                this._LogID,
                this._SignUpStudentsSpecialityID,
                this._SignUpID,
                this._SpecialityKindsNO,
                this._SpecialityKindsName,
                this._AllowExamID,
                this._ExamPlaceNO,
                this._ExamLevel,
                this._IsPass,
                this._NodeName,
                this._NodeTime};
        }
        /// <summary>
        /// 给当前实体赋值
        /// </summary>
        public override void SetPropertyValues(IDataReader reader)
        {
            this._LogID = DataUtils.ConvertValue<string>(reader["LogID"]);
            this._SignUpStudentsSpecialityID = DataUtils.ConvertValue<string>(reader["SignUpStudentsSpecialityID"]);
            this._SignUpID = DataUtils.ConvertValue<string>(reader["SignUpID"]);
            this._SpecialityKindsNO = DataUtils.ConvertValue<string>(reader["SpecialityKindsNO"]);
            this._SpecialityKindsName = DataUtils.ConvertValue<string>(reader["SpecialityKindsName"]);
            this._AllowExamID = DataUtils.ConvertValue<string>(reader["AllowExamID"]);
            this._ExamPlaceNO = DataUtils.ConvertValue<string>(reader["ExamPlaceNO"]);
            this._ExamLevel = DataUtils.ConvertValue<int?>(reader["ExamLevel"]);
            this._IsPass = DataUtils.ConvertValue<int?>(reader["IsPass"]);
            this._NodeName = DataUtils.ConvertValue<string>(reader["NodeName"]);
            this._NodeTime = DataUtils.ConvertValue<DateTime?>(reader["NodeTime"]);
        }
        /// <summary>
        /// 给当前实体赋值
        /// </summary>
        public override void SetPropertyValues(DataRow row)
        {
            this._LogID = DataUtils.ConvertValue<string>(row["LogID"]);
            this._SignUpStudentsSpecialityID = DataUtils.ConvertValue<string>(row["SignUpStudentsSpecialityID"]);
            this._SignUpID = DataUtils.ConvertValue<string>(row["SignUpID"]);
            this._SpecialityKindsNO = DataUtils.ConvertValue<string>(row["SpecialityKindsNO"]);
            this._SpecialityKindsName = DataUtils.ConvertValue<string>(row["SpecialityKindsName"]);
            this._AllowExamID = DataUtils.ConvertValue<string>(row["AllowExamID"]);
            this._ExamPlaceNO = DataUtils.ConvertValue<string>(row["ExamPlaceNO"]);
            this._ExamLevel = DataUtils.ConvertValue<int?>(row["ExamLevel"]);
            this._IsPass = DataUtils.ConvertValue<int?>(row["IsPass"]);
            this._NodeName = DataUtils.ConvertValue<string>(row["NodeName"]);
            this._NodeTime = DataUtils.ConvertValue<DateTime?>(row["NodeTime"]);
        }
        #endregion

        #region _Field
        /// <summary>
        /// 字段信息
        /// </summary>
        public class _
        {
            /// <summary>
            /// * 
            /// </summary>
            public readonly static Field All = new Field("*", "TB_Exam_Log");
            /// <summary>
            /// 
            /// </summary>
            public readonly static Field LogID = new Field("LogID", "TB_Exam_Log", "LogID");
            /// <summary>
            /// 
            /// </summary>
            public readonly static Field SignUpStudentsSpecialityID = new Field("SignUpStudentsSpecialityID", "TB_Exam_Log", "SignUpStudentsSpecialityID");
            /// <summary>
            /// 
            /// </summary>
            public readonly static Field SignUpID = new Field("SignUpID", "TB_Exam_Log", "SignUpID");
            /// <summary>
            /// 
            /// </summary>
            public readonly static Field SpecialityKindsNO = new Field("SpecialityKindsNO", "TB_Exam_Log", "SpecialityKindsNO");
            /// <summary>
            /// 
            /// </summary>
            public readonly static Field SpecialityKindsName = new Field("SpecialityKindsName", "TB_Exam_Log", "SpecialityKindsName");
            /// <summary>
            /// 
            /// </summary>
            public readonly static Field AllowExamID = new Field("AllowExamID", "TB_Exam_Log", "AllowExamID");
            /// <summary>
            /// 
            /// </summary>
            public readonly static Field ExamPlaceNO = new Field("ExamPlaceNO", "TB_Exam_Log", "ExamPlaceNO");
            /// <summary>
            /// 
            /// </summary>
            public readonly static Field ExamLevel = new Field("ExamLevel", "TB_Exam_Log", "ExamLevel");
            /// <summary>
            /// 
            /// </summary>
            public readonly static Field IsPass = new Field("IsPass", "TB_Exam_Log", "IsPass");
            /// <summary>
            /// 
            /// </summary>
            public readonly static Field NodeName = new Field("NodeName", "TB_Exam_Log", "NodeName");
            /// <summary>
            /// 
            /// </summary>
            public readonly static Field NodeTime = new Field("NodeTime", "TB_Exam_Log", "NodeTime");
        }
        #endregion


    }
}

